<ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core" xmlns:p="http://primefaces.org/ui" xmlns:comp="http://java.sun.com/jsf/composite/componentes"
	template="/template/template.xhtml">

	<f:metadata>
		<f:viewParam name="idRdo" value="#{planillaClienteBean.idRdo}" />
		<f:event listener="#{planillaClienteBean.cargarPlanillaClienteDesdeRdo}" type="preRenderView" />
	</f:metadata>

	<ui:define name="contenido">

		<h:form id="form">

			<p:outputPanel id="panelContenedor">

				<comp:barra bean="#{planillaClienteBean}" renderedNuevo="false" renderedEditar="false">
					<p:commandButton value="Aprobar" icon="ui-icon-trash" onclick="panelAprobar.show()" process="@this,:form:panelContenedor"
						disabled="#{planillaClienteBean.editado}">
					</p:commandButton>
					<comp:buttonExportaExcel bean="#{planillaClienteBean}" tabla=":form:tablaPlanillaCliente" />
				</comp:barra>

				<p:confirmDialog id="panelAprobar" header="Aprobar" widgetVar="panelAprobar" height="80" width="300" appendTo="@(body)"
					message="Esta Seguro de Aprobar la Planilla Contratista">

					<center>

						<p:commandButton value="SI" action="#{planillaClienteBean.aprobar}" process="@this, :form:panelContenedor" update="@this, :form:panelContenedor"
							partialSubmit="true" onclick="panelAprobar.hide()">
						</p:commandButton>

						<p:commandButton process="@this" value="NO" partialSubmit="true" onclick="panelAprobar.hide()" />

					</center>

				</p:confirmDialog>

				<p:outputPanel id="panelNuevo" rendered="#{planillaClienteBean.editado}">

					<p:panel header="Crear/Editar (Plannilla Cliente)">

						<h:panelGrid id="panelPlantillaContratista" columns="4" columnClasses="columnaEtiqueta,columnaValor,columnaEtiqueta,columnaValor">

							<h:outputText value="Fecha:" />
							<p:calendar pattern="dd/MM/yyyy" showOn="button" navigator="true" value="#{planillaClienteBean.planillaCliente.fecha}" id="calFecha"
								required="true">
								<p:ajax process="@this" event="dateSelect" global="false" partialSubmit="true" />
								<p:ajax process="@this" event="change" global="false" partialSubmit="true" />
								<f:validateBean />
							</p:calendar>

							<h:outputText value="Nota:" />
							<p:inputText value="#{planillaClienteBean.planillaCliente.descripcion}">
								<f:validateBean />
							</p:inputText>

							<h:outputText value="Numero Proyecto:" />
							<h:outputText value="#{planillaClienteBean.planillaCliente.rdo.planOperativo.proyecto.numero}" />

							<h:outputText value="Nombre Proyecto:" />
							<h:outputText value="#{planillaClienteBean.planillaCliente.rdo.planOperativo.proyecto.nombre}" />

							<h:outputText value="Fecha:" />
							<h:outputText value="#{planillaClienteBean.planillaCliente.rdo.planOperativo.proyecto.fecha}" id="txtFechaProyecto">
								<f:convertDateTime pattern="dd/MM/yyyy" />
							</h:outputText>

							<h:outputText value="Version:" />
							<h:outputText value="#{planillaClienteBean.planillaCliente.rdo.planOperativo.version}" />

							<h:outputText value="Cliente:" />
							<h:outputText value="#{planillaClienteBean.planillaCliente.rdo.planOperativo.proyecto.cliente.clieNombre}" />

							<h:outputText value="#Plantilla:" />
							<h:outputText value="#{planillaClienteBean.planillaCliente.idPlanillaCliente}" />

							<h:outputText value="Fecha Inicio:" />
							<h:outputText value="#{planillaClienteBean.planillaCliente.rdo.planOperativo.fechaInicio}" id="txtFechaInicio">
								<f:convertDateTime pattern="dd/MM/yyyy" />
							</h:outputText>

							<h:outputText value="Fecha Fin:" />
							<h:outputText value="#{planillaClienteBean.planillaCliente.rdo.planOperativo.fechaFin}" id="txtFechaFin">
								<f:convertDateTime pattern="dd/MM/yyyy" />
							</h:outputText>

							<h:outputText value="Lider:" />
							<h:outputText
								value="#{planillaClienteBean.planillaCliente.rdo.planOperativo.proyecto.usuario.usuaApellidos} #{planillaClienteBean.planillaCliente.rdo.planOperativo.proyecto.usuario.usuaNombres}" />

							<h:outputText value="Sucursal:" />
							<h:outputText value="#{planillaClienteBean.planillaCliente.rdo.planOperativo.proyecto.sucursal.sucuDescripcion}" />

							<h:outputText value="Contratista:" />
							<h:outputText value="#{planillaClienteBean.planillaCliente.rdo.planOperativo.proyecto.contratista.nombre}" />

							<h:outputText value="Lider Contratista:" />
							<h:outputText value="#{planillaClienteBean.planillaCliente.rdo.planOperativo.proyecto.contactoContratista.nombre}" />

							<h:outputText value="Orden Trabajo:" />
							<h:outputText value="#{planillaClienteBean.planillaCliente.rdo.planOperativo.proyecto.ordenTrabajo}" />

							<h:outputText value="Plano:" />
							<h:outputText value="#{planillaClienteBean.planillaCliente.rdo.planOperativo.proyecto.plano}" />

							<h:outputText value="Alcance:" />
							<h:outputText value="#{planillaClienteBean.planillaCliente.rdo.planOperativo.proyecto.alcance}" />

							<h:outputText value="Direccion Obra:" />
							<h:outputText value="#{planillaClienteBean.planillaCliente.rdo.planOperativo.proyecto.direccionObra}" />

						</h:panelGrid>

						<p:spacer width="2px" />

						<p:tabView id="tabViewDetallePlanillaCliente">

							<p:tab title="Detalle Cliente">

								<h:panelGrid columns="2" style="width:100%;text-align:left">

									<h:panelGroup id="panelDetallePlanillaCliente" layout="block" style="height: 435px; overflow-y: scroll !important;">

										<p:dataTable id="tablaDetallePlanillaCliente" rowIndexVar="secuencial" emptyMessage="No exsten registros"
											value="#{planillaClienteBean.listaDetallePlanillaCliente}" var="_detallePlanillaCliente" paginator="true" paginatorPosition="bottom"
											style="width:100%" rows="100" rowKey="#{_detallePlanillaCliente.rowKey}"
											selection="#{planillaClienteBean.detallePlanillaClienteSeleccionado}" selectionMode="single"
											binding="#{planillaClienteBean.dtDetallePlanillaCliente}" sortBy="partida.padeNombre" sortOrder="ASCENDING">

											<p:columnGroup type="header">
												<p:row>
													<p:column colspan="5" headerText="Planificacion" />
													<p:column colspan="3" headerText="Cantidad Real" />
												</p:row>
												<p:row>
													<p:column headerText="Actividad" />
													<p:column headerText="Tarea" />
													<p:column headerText="Unidad" />
													<p:column headerText="Nota" />
													<p:column headerText="Cantidad U." />
													<p:column headerText="Cantidad Pl.Ant." />
													<p:column headerText="Cantidad Pl.Act." />
													<p:column headerText="Cantidad T." />
												</p:row>
											</p:columnGroup>

											<p:column headerText="Actividad" styleClass="tableCell columnaDTNombre" sortBy="partida.padeNombre">
												<h:outputText value="#{_detallePlanillaCliente.partida.padeNombre}" id="txtCodigo" />
											</p:column>

											<p:column headerText="Tarea" styleClass="tableCell columnaDTNombre">
												<h:outputText value="#{_detallePlanillaCliente.concepto.concNombre}" id="txtNombre" />
											</p:column>

											<p:column headerText="Unidad" styleClass="tableCell columnaDTUnidad">
												<h:outputText value="#{_detallePlanillaCliente.concepto.concUnidad}" id="txtUnidad" />
											</p:column>

											<p:column headerText="Nota" styleClass="tableCell columnaDTDescripcion">
												<p:inputText styleClass="input-text" value="#{_detallePlanillaCliente.descripcion}" id="txtNota">
													<p:ajax event="change" process="@this" partialSubmit="true" />
													<f:validateBean />
												</p:inputText>
											</p:column>

											<p:column headerText="Cantidad U." styleClass="tableCell columnaDTValor">
												<h:outputText value="#{_detallePlanillaCliente.cantidad}" id="txtCantidad" />
											</p:column>

											<p:column headerText="Cantidad Pl.Ant." styleClass="tableCell columnaDTValor">
												<h:outputText value="#{_detallePlanillaCliente.cantidadAnterior}" id="txtCantidadPlantillaAnterior" />
											</p:column>

											<p:column headerText="Cantidad Pl.Act." styleClass="tableCell columnaDTValor">
												<p:inputText styleClass="input-text-number" value="#{_detallePlanillaCliente.cantidadActual}" id="txtCantidadPlantillaActual">
													<p:ajax listener="#{planillaClienteBean.totalizar}" event="change" process="@this" partialSubmit="true"
														update=":form:tabViewDetallePlanillaCliente:panelDetallePlanillaCliente" />
													<f:validateBean />
												</p:inputText>
											</p:column>

											<p:column headerText="Cantidad T." styleClass="tableCell columnaDTValor">
												<h:outputText value="#{_detallePlanillaCliente.cantidadTotal}" id="txtCantidadTotal" />
											</p:column>

										</p:dataTable>

									</h:panelGroup>

								</h:panelGrid>

							</p:tab>

						</p:tabView>


					</p:panel>
				</p:outputPanel>

				<p:outputPanel id="panelListado" rendered="#{!planillaClienteBean.editado}">

					<p:dataTable lazy="true" id="tablaPlanillaCliente" rowIndexVar="secuencial" emptyMessage="No exsten registros"
						value="#{planillaClienteBean.listaPlanillaCliente}" var="_planillaCliente" binding="#{planillaClienteBean.dtPlanillaCliente}" paginator="true"
						paginatorPosition="bottom" style="width:100%" rows="10" selection="#{planillaClienteBean.planillaCliente}" selectionMode="single"
						rowKey="#{_planillaCliente.id}">

						<f:facet name="header">
							<h:outputText value="Lista (Planilla Cliente)" />
						</f:facet>

						<p:column headerText="No">
							<h:outputText value="#{secuencial+1}" />
						</p:column>

						<p:column filterBy="#{_planillaCliente.rdo.planOperativo.proyecto.numero}" sortBy="#{_planillaCliente.rdo.planOperativo.proyecto.numero}">
							<f:facet name="header">
								<h:outputText value="Numero" />
							</f:facet>
							<h:outputText value="#{_planillaCliente.rdo.planOperativo.proyecto.numero}" />
						</p:column>

						<p:column filterBy="#{_planillaCliente.rdo.planOperativo.proyecto.nombre}" sortBy="#{_planillaCliente.rdo.planOperativo.proyecto.nombre}">
							<f:facet name="header">
								<h:outputText value="Nombre" />
							</f:facet>
							<h:outputText value="#{_planillaCliente.rdo.planOperativo.proyecto.nombre}" />
						</p:column>

						<p:column sortBy="#{_planillaCliente.rdo.planOperativo.version}">
							<f:facet name="header">
								<h:outputText value="Version" />
							</f:facet>
							<h:outputText value="#{_planillaCliente.rdo.planOperativo.version}" />
						</p:column>

						<p:column sortBy="#{_planillaCliente.fecha}">
							<f:facet name="header">
								<h:outputText value="Fecha" />
							</f:facet>
							<h:outputText value="#{_planillaCliente.fecha}">
								<f:convertDateTime pattern="dd/MM/yyyy" />
							</h:outputText>
						</p:column>

						<p:column filterBy="#{_planillaCliente.estado}" sortBy="#{_planillaCliente.estado}" filterOptions="#{planillaClienteBean.listaEstadoItem}">
							<f:facet name="header">
								<h:outputText value="Estado" />
							</f:facet>
							<h:outputText value="#{_planillaCliente.estado.nombre}" />
						</p:column>

						<p:column>
							<f:facet name="header">
								<h:outputText value="Nota" />
							</f:facet>
							<h:outputText value="#{_planillaCliente.descripcion}" />
						</p:column>

					</p:dataTable>

				</p:outputPanel>


			</p:outputPanel>
		</h:form>

	</ui:define>
</ui:composition>